package io.persimmon.core.entity;


import io.persimmon.core.entity.multiple.*;

public interface MultipleEntity {
    static <T1> MultipleEntity1<T1> of(T1 t1) {
        return new MultipleEntity1<>(t1);
    }

    static <T1, T2> MultipleEntity2<T1, T2> of(T1 t1, T2 t2) {
        return new MultipleEntity2<>(t1, t2);
    }

    static <T1, T2, T3> MultipleEntity3<T1, T2, T3> of(T1 t1, T2 t2, T3 t3) {
        return new MultipleEntity3<>(t1, t2, t3);
    }

    static <T1, T2, T3, T4> MultipleEntity4<T1, T2, T3, T4> of(T1 t1, T2 t2, T3 t3, T4 t4) {
        return new MultipleEntity4<>(t1, t2, t3, t4);
    }

    static <T1, T2, T3, T4, T5> MultipleEntity5<T1, T2, T3, T4, T5> of(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
        return new MultipleEntity5<>(t1, t2, t3, t4, t5);
    }
}
